Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何在生产服务器上创建SQL Server数据库_Sql Server_Asp.net Core - Fatal编程技术网

Sql server 如何在生产服务器上创建SQL Server数据库

Sql server 如何在生产服务器上创建SQL Server数据库,sql-server,asp.net-core,Sql Server,Asp.net Core,我正在从事Angular/.Net core项目,我想将其部署在配备Windows server 2016的自制服务器上 我一直在寻找从迁移文件创建数据库的最佳方法。我在stackoverflow上看到过一些关于它的话题,但我不想在我的服务器上出错,所以我想知道最好的方法 我认为第一个选择是在我的服务器上安装VisualStudioIDE。然后,我可以打开我的项目并运行更新数据库命令,该命令将读取所有迁移文件并创建数据库 但我不认为我应该在服务器上安装Visual Studio 第二个选项是我在

我正在从事Angular/.Net core项目,我想将其部署在配备Windows server 2016的自制服务器上

我一直在寻找从迁移文件创建数据库的最佳方法。我在stackoverflow上看到过一些关于它的话题,但我不想在我的服务器上出错,所以我想知道最好的方法

我认为第一个选择是在我的服务器上安装VisualStudioIDE。然后,我可以打开我的项目并运行
更新数据库
命令,该命令将读取所有迁移文件并创建数据库

但我不认为我应该在服务器上安装Visual Studio

第二个选项是我在StackOverflow上看到的。在我的开发环境中,我可以使用命令
dotnet ef migrations script
,它将生成一个脚本

但是我不确定我应该把这个脚本放在哪里。我想可能是在MicrosoftSQLServerManagementStudio中,新建查询并放置我的脚本


你能告诉我最好的方法吗

您需要dotnet sdk才能使用
dotnet ef迁移脚本
,但您可以使用开发pc连接到远程SQL Server并进行迁移。为此,只需将连接字符串指向远程SQL Server,然后使用
更新数据库
dotnet ef更新数据库

存在另一个解决方案,您可以使用SQL Server生成脚本查询所有数据库对象,并在目标SQL Server上执行它。

这是您可以做到的最佳方法生产环境中数据库的“第一次创建”是从SSMS(SQL Server Management Studio)生成脚本,并在生产数据库服务器上运行该脚本。原因是您的数据库为空(您可以将所有数据放在脚本中),并且您可以轻松更改名称等

之后,在应用程序的新版本上,最好的方法是使用
updatedatabase-Script
并将该脚本保存/添加到部署脚本中。 当您准备上线时,如果有什么失败,请尝试使用回滚事务的脚本