在不使用TSQL或Designer的情况下更改SQL Server数据库

时间:2014-08-22 15:48:12

标签: sql-server visual-studio-2010 ssms

对于我正在处理的项目,我需要在SQL Server数据库中更改几个现有的表,视图和存储过程。然后我需要编写C#代码来使用新功能。在过去,我使用过SQL Server Management Studio:

  • 使用表设计器
  • 或编写TSQL

事实上,这些是MS给Add Columns to a Table提供的两个选项。

有更好/更现代的方法吗? SSMS没有智能感知,也没有为您创建“更改”脚本。

2 个答案:

答案 0 :(得分:1)

在Visual Studio中使用 Microsoft SQL Server Data Tools 。您需要VS 2012和SQL Server的安装才能使用它。在VS中,您可以使用" SQL Server对象资源管理器"连接到数据库。它有一些很棒的功能:

  • 您可以在设计器或TSQL中编辑对象(它们保持同步)
  • 您可以点击"更新"修改数据库或生成更改SQL脚本以便稍后运行。
  • 它支持intellisense!活泉!
  • 您可以右键单击以使用代码段轻松生成触发器,过程等。

答案 1 :(得分:1)

您还可以使用SMO API来更改数据库对象:http://msdn.microsoft.com/en-us/library/Microsoft.SqlServer.Management.Smo.aspx

SMO为SQL Server中的大多数事物提供了完整的面向对象的API。要向表中添加列,只需:

using Microsoft.SqlServer.Management.Smo;

var server = new Server("localhost");
var database = server.Databases["db"];
var table = database.Tables["table"];

var newColumn = new Column(table, "new", DataType.Int);
table.Columns.Add(newColumn);
table.Alter();