sql server2008中百度中没有解决的问题

1.在创建数据库时,有一个比较常见的问题,

 

if exists(select name from sysdatabases where name=‘mydb‘)
drop database mydb
go
create databASE mydb on primary
(
   name=‘mydb_dat‘,  --逻辑名称
   filename=‘e:\db\mydb.mdf‘,  --物理名称
   size=5Mb, --最小值
   maxsize=20mb, --最大值
   filegrowth=10% --2mb
)log on
(
   name=‘mydb_log_dat‘,  --逻辑名称
   filename=‘f:\db\mydb_log.ldf‘,  --物理名称
   size=2Mb, --最小值
   maxsize=5mb, --最大值
   filegrowth=1mb
)
go

消息 5133,级别 16,状态 1,第 1 行
对文件 "e:\db\mydb.mdf" 的目录查找失败,出现操作系统错误 2(系统找不到指定的文件。)。
消息 1802,级别 16,状态 1,第 1 行
CREATE DATABASE 失败。无法创建列出的某些文件名。请查看相关错误。

这是很多自学者容易出现的问题,与java和其他编程语言的影响,创建数据库的时候,系统不会主动创建目录 e:\db,f:\db

首先应该检查你是否存在这个目录,如果不存在先创建这个目录,就ok了;还有可能是对e,f盘没有修改的权限,

 在盘符处右键-->安全-->编辑(修改权限)-->勾选修改和写入等功能,再试下就可以了(我成功了)

       在创建大型数据库时,尽量把主数据文件和事务日志文件存放在不同目录下,这样在数据库被损坏时

可以利用事务日志文件进行恢复,同时也可以提高数据读取的效率

  

问题2:
if exists(select name from sysobjects where name=‘postcode‘ and xtype=‘u‘)
drop table postcode
create table postcode
(
  地区 nvarchar(20) primary key,
  邮编 char(7) not null,
)

bulk insert postcode from‘f:/post.sql‘
select * from postcode

 

消息4860,级别16,状态1,第1

无法进行大容量加载。文件"f:/post.sql" 不存在。

 

找不到文件的原因,其实是文件的扩展名问题,打开f盘,

点击“组织”

 

将隐藏已知文件类型的扩展名勾掉,发现文件名变为了post.sql.txt,这才是真正的文件名,绝对路径写成“f:\post.sql.txt”就可以了

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。