sql - 将 .sql 文件上传到远程服务器
问题描述
我们的开发团队正在开发不同的 .net 应用程序。他们创建新的表存储过程和其他对象,完成后他们需要上传远程数据库中的更改。
我的任务是创建一个应用程序来比较两个数据库对象(本地和远程)并在远程数据库中进行更改。
所以我所做的是我创建了 .net 应用程序,该应用程序脚本所有对象创建包含所有更改的 .sql 文件 .net 应用程序通过 Internet 连接到远程服务器并运行我生成的 .sql 文件。
每次脚本检查整个数据库时,都会删除所有没有存储过程、视图、类型等数据的对象并重新创建它们 .sql 文件可以很好地处理所有事情,但问题是它太慢了
具有 48k 行代码的 .sql 文件大约需要 25 分钟才能远程运行 现在我需要解决方案来提高速度。我的想法是上传 1mb 的 .sql 文件,然后在服务器端运行它,但我不能手动执行,因为它会破坏整个概念我希望我的应用程序上传文件并运行它请建议,如果你有任何更好的方法也请让我知道谢谢下面给出了示例 Sql 代码
IF object_id('TBU_BankWithdrawalVoucher', 'U') is null
Create Table [dbo].[TBU_BankWithdrawalVoucher](
[PKGUID] uniqueidentifier Not Null ,
[AutoID] int Identity (1, 1) Not Null ,
[VNo] nvarchar (255) Not Null ,
[VDate] datetime Not Null ,
[RecNo] nvarchar (255) Not Null ,
[RefNo] nvarchar (255) Not Null ,
[AccountDID] uniqueidentifier Not Null ,
[CashRegisterDID] uniqueidentifier Not Null ,
[Remarks] nvarchar (255) Not Null ,
[Amount] money Not Null ,
[CB] uniqueidentifier Not Null ,
[CDate] datetime Not Null ,
[MB] uniqueidentifier Not Null ,
[MDate] datetime Not Null ,
[DB] uniqueidentifier Not Null ,
[DDate] datetime Not Null ,
[BranchID] smallint Not Null ,
[RowVer] RowVersion Not Null ,
[ISD] uniqueidentifier Not Null ,
[AppType] smallint Not Null )
Go
IF OBJECT_ID('DF_TBU_BankWithdrawalVoucher_PKGUID', 'D') IS Not NULL
Begin
ALTER TABLE [dbo].[TBU_BankWithdrawalVoucher] Drop CONSTRAINT [DF_TBU_BankWithdrawalVoucher_PKGUID]
End
Go
IF OBJECT_ID('DF_TBU_BankWithdrawalVoucher_VNo', 'D') IS Not NULL
Begin
ALTER TABLE [dbo].[TBU_BankWithdrawalVoucher] Drop CONSTRAINT [DF_TBU_BankWithdrawalVoucher_VNo]
End
Go
IF OBJECT_ID('DF_TBU_BankWithdrawalVoucher_VDate', 'D') IS Not NULL
Begin
ALTER TABLE [dbo].[TBU_BankWithdrawalVoucher] Drop CONSTRAINT [DF_TBU_BankWithdrawalVoucher_VDate]
End
Go
IF OBJECT_ID('DF_TBU_BankWithdrawalVoucher_RecNo', 'D') IS Not NULL
Begin
ALTER TABLE [dbo].[TBU_BankWithdrawalVoucher] Drop CONSTRAINT [DF_TBU_BankWithdrawalVoucher_RecNo]
End
Go
IF OBJECT_ID('DF_TBU_BankWithdrawalVoucher_RefNo', 'D') IS Not NULL
Begin
ALTER TABLE [dbo].[TBU_BankWithdrawalVoucher] Drop CONSTRAINT [DF_TBU_BankWithdrawalVoucher_RefNo]
End
Go
IF OBJECT_ID('DF_TBU_BankWithdrawalVoucher_AccountDID', 'D') IS Not NULL
Begin
ALTER TABLE [dbo].[TBU_BankWithdrawalVoucher] Drop CONSTRAINT [DF_TBU_BankWithdrawalVoucher_AccountDID]
End
Go
IF OBJECT_ID('DF_TBU_BankWithdrawalVoucher_CashRegisterDID', 'D') IS Not NULL
Begin
ALTER TABLE [dbo].[TBU_BankWithdrawalVoucher] Drop CONSTRAINT [DF_TBU_BankWithdrawalVoucher_CashRegisterDID]
End
Go
解决方案
推荐阅读
- r - 将 WAV 文件转换为 Txt 数据集
- scala - Scala:递归匹配案例?
- javascript - 反应私有路由无限渲染 - 出现错误错误:超过最大更新深度
- azure - 找不到具有 AssemblyQualifiedName、URI 或 FriendlyName ''trx' 的测试记录器
- javascript - 将 React-router 从 4 升级到 5
- algorithm - 关于 alpha-beta 修剪的 Minimax 问题?
- python - 如何按布尔值过滤?
- python - 为什么我的文件的最后修改时间戳是 1980 年 1 月 1 日?
- r - 将 VBA 函数翻译成 R
- python - Python - iterrows 的替代解决方案