2

我有以下脚本。我不知道如何在 sql server 2005 中创建新数据库。我运行以下脚本,它在模型而不是单独的数据库下创建表。它看起来很重。

如何创建单独的数据库。我在这里复制一些脚本以供您使用和操作。

-----------------------------------------------------------
-- SQL Server 2000 Bible 
-- Hungry Minds 
-- Paul Nielsen

-- OBX Kites sample database - CREATE Database, Tables, and Procs

-- this script will drop an existing OBXKites database 
-- and create a fresh new installation

-- related scripts:
-- OBXKites_Populate

-- T-SQL KEYWORDS go
-- DatabaseNames   

-----------------------------------------------------------
-----------------------------------------------------------
-- Drop and Create Database


USE master
GO
IF EXISTS (SELECT * FROM SysDatabases WHERE NAME='OBXKites')
  DROP DATABASE OBXKites
go

-- This creates 1 database that uses 2 filegroups
CREATE DATABASE OBXKites
  ON PRIMARY
    (NAME = 'OBXKites', FILENAME = 'D:\SQLData\OBXKites.mdf'),
  FILEGROUP Static
    (NAME = 'OBXKitesStatic', FILENAME = 'c:\SQLData\OBXKitesStatic.ndf')
  LOG ON (NAME = 'OBXKitesLog',  FILENAME = 'c:\SQLData\OBXKites.ldf')
go

-- set to Full Log

go

SET QUOTED_IDENTIFIER ON
go
USE OBXKites
go

-----------------------------------------------------------
-----------------------------------------------------------
-- Create Tables, in order from primary to secondary

CREATE TABLE dbo.OrderPriority (
  OrderPriorityID UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL DEFAULT (NEWID()) PRIMARY KEY NONCLUSTERED,
  OrderPriorityName NVARCHAR (15) NOT NULL,
  OrderPriorityCode NVARCHAR (15) NOT NULL,
  Priority INT NOT NULL
  )
  ON [Static]
go  
4

5 回答 5

5
CREATE DATABASE OBXKites
ON PRIMARY
     (NAME = 'OBXKites', FILENAME = 'D:\SQLData\OBXKites.mdf'),  
   FILEGROUP Static
     (NAME = 'OBXKitesStatic', FILENAME = 'c:\SQLData\OBXKitesStatic.ndf')
LOG ON 
   (NAME = 'OBXKitesLog',  FILENAME = 'c:\SQLData\OBXKites.ldf')
go

您脚本中的此代码应创建一个新数据库。如果过程中没有错误发生。

于 2009-11-05T15:19:37.930 回答
1

你能简化一下吗?还是您必须进行所有检查?

如果可以简化,我相信一些代码,例如:

CREATE DATABASE OBXKites

USE OBXKites

CREATE TABLE OrderPriority(syntax)

如果像这样的简单代码不起作用,您可能在权限或文件方面有更深层次的问题,或者正如我之前的 queen3 所建议的那样。

事后思考:在我的学校,我们也遇到过这样的问题,我相信......经过几节课后,我们终于得出结论,我们无权将文件添加到实验室计算机上的程序文件目录中,并且 SQL 是'不向我们报告错误。

于 2009-11-05T15:18:19.283 回答
0

输出中是否有任何错误?脚本本身已经按照您的要求完成了。

我怀疑您错误地指定了文件名-其中一些位于驱动器 C: 上,而另一些位于驱动器 D: 上。

于 2009-11-05T15:17:19.167 回答
0

您的脚本将在 OBXKites 数据库中创建表(请参阅脚本中的 USE OBXKites 语句)

OBXKites 数据库是否已存在于您的服务器实例中?如果是这样,这可能就是它似乎在当前数据库中创建表的原因,因为该脚本有效地删除并重新创建了 OBXKites 数据库。如果您需要一个不同的数据库名称,请在上面的脚本中找到“这将创建 1 个使用 2 个文件组的数据库”的行之后的所有“OBXKites”实例,并将其重命名为您想要的新数据库名称。

唯一的其他选择可能是脚本在创建数据库时出现执行错误,如果您的用户帐户缺乏执行此操作的适当权限。但是,脚本会继续执行,在您登录的当前数据库中创建表,这就是您在那里看到表的原因。

于 2009-11-05T15:18:03.497 回答
0

在 Ubuntu 终端中创建数据库

我的数据库名称是database_name 你可以使用任何东西

create database database_name;

如何选择此数据库以在其中创建表。

use database_name;

于 2021-07-07T17:30:54.273 回答