[英]use SQL script to create SQL server DB
我对SQL Server和Visual Studio 2010有一个非常基本的问题。我目前正在阅读《 C#3.0与.NET Framework 3.5一起发布》一书。 我在解释LINQ to SQL的章节中。 作者要求创建一个新的数据库,并使用他的脚本(在书中给出)来创建表并用一些数据填充这些表。
但是,由于我以前从未使用过SQL Server,因此这部分令我有些困惑。 作者没有解释如何创建数据库。 首先,我认为我可以右键单击Data Connections -> Create New SQL Server Database
。 但是,当我尝试这样做时,我只得到一条错误消息,说明无法建立连接。
当那行不通时,我通过Add -> New Item
添加了一个新Service-based Database
。 这项工作有效(尽管我不理解这与我之前尝试过的事情之间的区别。如果有人可以为我解释一下,将不胜感激),但是现在我应该使用脚本来创建表并输入一些数据。 我可以右键单击数据库并选择New Query
,但是该窗口似乎不接受此类脚本。
脚本的第一部分:
/****** Object: Table [dbo].[HospitalStaff]Script Date: 12/29/2007 21:42:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (
SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID(N’[HospitalStaff]’)
AND type in (N’U’))
BEGIN
CREATE TABLE [HospitalStaff](
[HospitalStaffID] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50)
COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Position] [varchar](50)
COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
CONSTRAINT [PK_HospitalStaff] PRIMARY KEY CLUSTERED
(
[HospitalStaffID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON)
)
END
我知道这是一个非常基本的问题,但是我可以在哪里执行此脚本? 我已经访问了一些具有SQL Server教程的网站,但这一切都令人困惑。
有关更多信息,请访问
http://msdn.microsoft.com/zh-CN/library/yea4bc1b(vs.80).aspx
找到了雄辩的解决方案
在带有SQL Server 2008 Express的PC上运行时,Asp.NET Web Visual Studio 2010中的问题数据库我可以使用该界面手动添加表,但是我想运行SQL代码来创建表等。您无法从查询界面执行此操作( 突出显示数据库,然后从弹出菜单中选择“新建查询”)
上面提到的使用脚本的想法似乎很可行–但是当我这样做时,我无法弄清楚如何连接到解决方案中的数据库。
如果我选择“连接…”,并且在我的PC上运行的SQL Server Express 2008将默认为“主”,而当我尝试使用[选项]浏览到数据库时,它不在列表中。 当我将完整路径明确放在C:\\ Users \\ keef.riffhard \\ Documents \\ Visual Studio 2010 \\ WebSites \\ WebSite1 \\ App_Data \\ MyAspDatabase.mdf中时,它也变为“主”
啊!
[选项]中的技巧还在于“其他连接参数”,并带有注释“连接字符串参数将覆盖其他面板中的图形选择”。因此,我在解决方案中突出显示了数据库,然后转到属性并复制了连接字符串。 然后,我将连接字符串粘贴到|其他连接参数|中。 [选项]下的标签
成功!
右键单击SSMS中“对象资源管理器”中的数据库名称,然后转到“任务”->“为所有对象生成脚本”。 将其保存到新的查询窗口,您将看到从头创建新数据库并用对象(表,SP等)填充新数据库所必需的文本。
使用此代码可帮助您弄清楚如何生成创建字符串。
例:
USE [master]
GO
/****** Object: Database [DBA] Script Date: 02/07/2012 11:40:09 ******/
CREATE DATABASE [DBA] ON PRIMARY
( NAME = N'DBA', FILENAME = N'D:\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\DBA.mdf' , SIZE = 1303552KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB )
LOG ON
( NAME = N'DBA_log', FILENAME = N'D:\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\DBA_log.ldf' , SIZE = 2052672KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.