如何从脚本创建SQL Server 2008数据库

Edw*_*uay 6 sql-server

我正在尝试进行实体框架演练,所以我:

  • 这里下载了SQL脚本:http://www.learnentityframework.com
  • 在SQL Server Management Studio中,我右键单击Database,Create Database,将其命名
  • 右键单击新数据库New Query
  • 单击"打开文件"并打开脚本文件:Create_ProgrammingEFDB1_SQLServer2008.sql
  • 点击"!执行"
  • 但是剧本(756K)现在已经运行了10分钟,仍然说"执行......"

我的问题是:

  • 这是将SQL脚本读入SQL Server 的标准方法吗?
  • 应该花这么久吗?这就是我在MySQL/PHPMyAdmin中的表现,它可能需要几秒钟,所以我假设我做的不对.

这是脚本的开头,我更改了文件路径,使它们指向正确的.mdf和.ldf文件:

****/

--PART ONE  CREATE THE DATABASE. Note the file paths in the first few commands. 
--Change them for your own computer.--
USE [master]
GO

    /****** Object:  Database [ProgrammingEFDB1]    Script Date: 01/28/2009 10:17:44 ******/
    CREATE DATABASE [ProgrammingEFDB1] ON  PRIMARY 
    ( NAME = N'ProgrammingEFDB1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\ProgrammingEFDB1.mdf' , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
     LOG ON 
    ( NAME = N'ProgrammingEFDB1_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\ProgrammingEFDB1_log.LDF' , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
    GO

    ALTER DATABASE [ProgrammingEFDB1] SET COMPATIBILITY_LEVEL = 90
    GO

    IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
    begin
    EXEC [ProgrammingEFDB1].[dbo].[sp_fulltext_database] @action = 'disable'
    end
    ...
Run Code Online (Sandbox Code Playgroud)

回答:

我已经创建了一个具有相同名称的数据库,因此它试图创建一个已经存在的数据库,因为某些原因导致它挂起.我删除了该数据库,重新编写了脚本,并在3秒内成功完成.

Qua*_*noi 5

我不知道你的脚本在接下来会做什么754K,但你发布的行似乎是无害的.

尝试将以下内容添加到脚本中:

SET STATISTICS TIME ON
Run Code Online (Sandbox Code Playgroud)

这将在运行时显示查询执行时间,它将帮助您更准确地找到问题.


Ric*_*ard 4

但脚本(756K)

肯定不仅仅是CREATE DATABASE脚本中的一个,所以很难说脚本何时执行。

您可以将脚本的进度报告写回客户端,或者使用 SQL Profiler 查看正在执行哪些命令。

  • “我以为这会很简单”:著名的遗言。 (4认同)