我正在部署一个网站,我需要运行生产服务器中单个文件中包含的大型TSQL脚本,而我无法完全访问SQL Server控制台,也无法远程连接。脚本是表,存储过程和视图创建的混合。我所能做的就是运行一组TSQL语句,就像存储过程一样。
我有两个选择:手动解析文件寻找GO的句子并在GO之前运行每个句子块,或者使用工具执行相同的任务。使用工具我将非常快速地完成任务,但我不知道任何工具。
您知道我可以使用的任何工具吗?
我认为它必须类似于控件,使用编辑器我将粘贴或加载要运行的脚本,并且它将能够按顺序解析和运行它们,就像Microsoft SQL Server Management通常那样。 / p>
答案 0 :(得分:1)
您可以查看有关该主题的CodeProject上的一些文章,并可能根据您的需要使用其中一个工具/组件?
其中大多数都是完整的来源,也可以作为自己定制版本的起点。
马克
答案 1 :(得分:1)
你有很多选择
通常我在sql management studio中创建存储过程然后将其保存为字符串,然后使用linq2sql执行存储过程,效果很好。
使用sql server smo对象你可以真正做很多事情,比如创建数据库,表,这真的很酷,我在我的网站上创建了1个页面并用它来更新数据库。 这是一个很好的链接 http://www.sqldbatips.com/showarticle.asp?ID=34
您可以使用Redgate SQL数据比较和比较。他们真的想要同步DB,它为我节省了很多时间,而且非常容易,非常值得推荐。
希望这会有所帮助。
答案 2 :(得分:0)
如果这些不起作用,那么自己编写这样的工具非常容易。只需使用Regex.Split在GO行上拆分文本,然后循环,为每个部分调用ExecuteNonQuery。