在SQL Server 2012中创建数据库,在2008中使用脚本和使用?

Sha*_*anc 10 sql-server-2008 sql-server-2012

如果我使用2012创建一个数据库并且工作并将该信息添加到它,如果我之后编写数据库脚本,我是否能够在2008年运行该脚本并使一切工作AOK?

Mat*_*age 22

如果您使用的是SQL Management Studio,则可以右键单击数据库名称,然后选择" 任务"→"生成脚本".

在这里,您将能够创建脚本来编写模式,数据或模式和数据的脚本,如果单击"高级"按钮,则可以指定要定位的SQL Server版本.

因此,只需选择SQL 2008作为目标服务器,你应该好好去!

  • 除非您的存储过程具有特定于2012的语法(例如FORMAT()函数),否则无论目标版本如何,向导都会盲目地为您编写脚本,并且不会警告您创建脚本将失败. (3认同)

Aar*_*and 10

一个脚本?是.好吧,让我重新说一下:这取决于.只要您的对象不使用任何特定于2012的功能,您就可以使用Management Studio或各种第三方工具编写脚本(我在这里写了一些关于某些选项的博客).许多工具还提供选项(或配套工具)来编写数据脚本.

问题是SQL Server 2012中没有一种非常简单的方法可以识别您可能正在使用2012特定功能的所有位置.例如,我不知道将检查您的数据库并指出您正在使用该FORMAT()功能的工具,这在SQL Server 2008或2008 R2中不可用.

其他复制数据库的方法 - 备份/恢复,附加/分离,镜像/日志传送等将不起作用.你可以上升(从2005年,2008年或2008年R2)到2012年,但你不能倒退.

总的来说,我同意约翰的观点.在版本<=部署版本上开发更安全.您为什么要在2012年开发部署到2008年?对我来说似乎风险很大.