出口?
当我们说出口时,我们究竟是什么意思?它可以像将数据导出到平面文件以便在Excel或其他东西中使用一样简单。它可能正在创建备份。也许我们的意思是创建一个bacpac文件。我们还可以考虑为数据库中的对象创建单独的脚本。最后,完全导出数据库对象定义怎么样?任何或所有这些都可能是问题所在。所以,让我们快速解决它们。这些中的每一个都可以是手动过程或自动过程。我不打算同时解决所有这些问题,而是将其分解为Azure Data Studio独有的各个步骤,然后在最后总结自动化部分。
平面文件导出
虽然有一个允许您导入平面文件的扩展,但还没有一种工具可以在Azure Data Studio中反转该过程。但是,这并不意味着没有办法完成这项工作。假设我们想要将一些数据输出到Excel,我们可以定义一个查询(故意有*,因为我们要导出所有列):Transact-SQL的:
选择 *
FROM Sales .SalesOrderHeader AS soh加入销售.SalesOrderDetail AS sodON soh .SalesOrderID = sod .SalesOrderIDWHERE SOH .OrderDate > '2014年6月26日' ;如果我们在Azure Data Studio中执行查询,结果将如下所示(单击以使其更大):
图片标题
如果你一直看到屏幕的右侧,你会看到:
这些是导出图标。按顺序,它们是;
另存为CSV
另存为Excel另存为JSON另存为XML图表简而言之,有一种非常简单的方法可以将结果设置为各种格式的平面文件。备用
这个话题很简短。这是SQL Server。即使我在Docker中针对Linux容器运行这些示例,备份也是备份。在SQL Server中编写备份脚本不会改变舔。Azure Data Studio中有一个内置备份实用程序。右键单击数据库,然后从上下文菜单中选择“备份”(与在SQL Server Management Studio中工作完全不同)。你会得到一个看起来像这样的新窗口(再次,点击以使其更大):图片标题
我不打算完成所有这些。这是一个备份。您可以看到备份的所有标准设置都可用。最后,您可以选择运行窗口中定义的备份,也可以编写脚本。
BACPAC
我不是粉丝。但是,bacpac是一种提取数据库定义或导出整个数据库的方法,因此值得讨论。要获得此功能,您需要安装SQL Server Import扩展。安装完成后,您将看到几个新的上下文菜单。我们感兴趣的是“数据层应用程序向导”。这将打开以下内容:
有两种选择让我们感兴趣。首先是“提取数据层应用程序......”该向导将提取包含数据库的所有结构但不包含数据的dacpac。第二个是“从数据库中导出模式和数据......”向导。这将创建一个bacpac,这是一个dacpac,加上数据。提取我们需要的一切。
T-SQL脚本
您还可以创建脚本。在Azure Data Studio中,右键单击任何对象,上下文菜单将包含“Script as Create”。这将为相关对象生成标准T-SQL脚本。至少我发现,你没有得到的是为多个对象生成脚本的任何方法。自动化出口
到目前为止,除备份外,我们所看到的一切都是GUI驱动的东西。那么,这一切的自动化在哪里?简单的答案是,它始终是同一个地方。您将为数据库中控制的事物编写T-SQL,就像您一直以来一样。你会为其他一切编写PowerShell。而已。没有真正的魔力。但是,如果您希望通过PowerShell(我强烈地,强烈地推荐)自动化该过程,那么有点作弊没有错。去获取DBA工具并使用它们让您的生活更轻松。结论
Azure Data Studio确实包含用于从实例上的数据库中导出数据或对象的图形机制。但是,它引入的任何内容实际上都是新的或不同的,因为您始终拥有Azure Data Studio公开的容量。它只是向您展示了完成导出的不同方法。