sql数据库还原 原是文件名怎么修改

sql数据库还原 原是文件名怎么修改,第1张

1、在

sql

server

的企业管理器中,不能直接更改数据库名称,如果要更改,最方便的是在查询分析器中运行:

alter

database

原数据库名称

modify

name=新数据库名称

2、sql

server

中,数据库还原时可以更改物理文件名,也可以分离数据库,直接更改

mdf

文件名再附加,但更改逻辑文件名似乎不那么直观。

在查询分析器里运行:

alter

database

数据库名称

modify

file(name=原逻辑文件名,

newname=新逻辑文件名)

3、这样就可以更改逻辑文件名了,由于

sql

server

有数据文件和日志文件,所以数据文件和日志文件的逻辑文件名都要更改的话,就得写两个类似于上述的语句。

SQL改变数据库的大小可以参考下面的代码:

ALTER DATABASE add_group

MODIFY FILE

(NAME = add_data,

SIZE = 10MB);

DBCC SHRINKFILE (add_data, 7);

扩展资料:

SQL语句

更新:update table1 set field1=value1 where 范围

查找:select from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)

排序:select from table1 order by field1,field2 [desc]

求和:select sum(field1) as sumvalue from table1

平均:select avg(field1) as avgvalue from table1

更新数据记录:

sql="update 数据表 set字段名=字段值 where 条件表达式"

sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"

参考资料来源:百度百科-SQL语句大全

参考资料来源:百度百科-sql语句

示例

A 向数据库中添加文件

下例创建数据库,并更改该数据库以添加一个 5 MB 大小的新数据文件。

USE master

GO

CREATE DATABASE Test1 ON

(

NAME = Test1dat1,

FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat1ndf',

SIZE = 5MB,

MAXSIZE = 100MB,

FILEGROWTH = 5MB

)

GO

ALTER DATABASE Test1

ADD FILE

(

NAME = Test1dat2,

FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat2ndf',

SIZE = 5MB,

MAXSIZE = 100MB,

FILEGROWTH = 5MB

)

GO

B 向数据库中添加由两个文件组成的文件组

下例在示例 A 中所创建的 Test1 数据库中创建一个文件组,并将两个 5 MB 的文件添加到该文件组。然后下例将 Test1FG1 设置为默认文件组。

USE master

GO

ALTER DATABASE Test1

ADD FILEGROUP Test1FG1

GO

ALTER DATABASE Test1

ADD FILE

( NAME = test1dat3,

FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat3ndf',

SIZE = 5MB,

MAXSIZE = 100MB,

FILEGROWTH = 5MB),

( NAME = test1dat4,

FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat4ndf',

SIZE = 5MB,

MAXSIZE = 100MB,

FILEGROWTH = 5MB)

TO FILEGROUP Test1FG1

ALTER DATABASE Test1

MODIFY FILEGROUP Test1FG1 DEFAULT

GO

C 向数据库中添加两个日志文件

下例向数据库中添加两个 5 MB 大小的日志文件。

USE master

GO

ALTER DATABASE Test1

ADD LOG FILE

( NAME = test1log2,

FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\test2logldf',

SIZE = 5MB,

MAXSIZE = 100MB,

FILEGROWTH = 5MB),

( NAME = test1log3,

FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\test3logldf',

SIZE = 5MB,

MAXSIZE = 100MB,

FILEGROWTH = 5MB)

GO

D 从数据库中删除文件

下例将示例 B 中添加到数据库 Test1 中的一个文件删除。

USE master

GO

ALTER DATABASE Test1

REMOVE FILE test1dat4

GO

E 更改文件

下例将示例 B 中添加到数据库 Test1 中的一个文件增加大小。

USE master

GO

ALTER DATABASE Test1

MODIFY FILE

(NAME = test1dat3,

SIZE = 20MB)

GO

F 将主文件组设置为默认文件组

假定原来另一个文件组设置为默认文件组,下例将主文件组设置为默认文件组。

USE master

GO

ALTER DATABASE MyDatabase

MODIFY FILEGROUP [PRIMARY] DEFAULT

GO

1、首先从开始菜单着手,打开开始菜单栏,在菜单栏上找到我们已经安装的SQL server 2008,单击打开它。

2、打开SQL server 2008数据库,来到登录界面,在这里我们只需要输入登录服务器名(电脑IP地址)、登录身份、账号、密码,然后单击登录。

3、成功登录进入SQL 数据库,可以看到连接的数据库基本信息,展开数据库节点,单击数据库然后使用鼠标右键,在d出的菜单中选择附加。

4、接着d出附加数据库的界面,这里我们只需要单击界面上的添加按钮就可以了。

5、单击添加按钮后,新d出来一个框,让你选择你要附加的数据文件路径,选择到我们要附加的数据库文件,单击确定按钮。

6、返回到附加数据库的界面,这是我们可以从界面上看到选择的附加数据库文件信息,然后在上方可以修改要附加的数据库名称。

修改数据库文件

alter

database

数据库

modify

file

(

name=cpxs_datamdf,

size=3,

maxsize=5

)

修改数据库文件前,也要先获得权限,然后使用

modify

file

命令,在内部首先要指定数据文件的名字,即给

name

关键字赋值,可以修改数据文件的属性有大小(size),最大值(maxsize),增长率(filegrowth)等。修改日志文件的命令与之相同。

另外可以直接通过sql2005

图形界面的那个管理 *** 作

use

master;

go

alter

database

master

modify

file

(name

=

master,filename='J:\data\mastermdf');

go

alter

database

master

modify

file

(name

=

mastlog,filename='J:\data\mastlogldf');

go

alter

database

tempdb

modify

file

(name

=

tempdev,filename='J:\data\tempdbmdf');

go

alter

database

tempdb

modify

file

(name

=

templog,filename='J:\data\templogldf');

go

alter

database

msdb

modify

file

(name

=

msdbData,filename='J:\data\MSDBDatamdf');

go

alter

database

msdb

modify

file

(name

=

MSDBlog,filename='J:\data\MSDBLogldf');

go

alter

database

model

modify

file

(name

=

modeldev,filename='J:\data\modelmdf');

go

alter

database

model

modify

file

(name

=

modellog,filename='J:\data\modellogldf');

go

msdb、model、tempdb都可以移到我定义的目录,数据库可以启动,起来以后到数据库属性-文件看到的路径就是修改后的路径。但是master的语句也执行成功了,执行结果如下:

文件

'master'

在系统目录中已修改。新路径将在数据库下次启动时使用。

文件

'mastlog'

在系统目录中已修改。新路径将在数据库下次启动时使用。

但是将master的2个文件移动到j:\data目录下,数据库启动失败,从日志看,还是找原来的启动路径。

最近遇到一个服务器的数据库文件增长很快,情况属于正常,磁盘空间很快就要满了,但是另一个分区还有大把的空间,所以寻思着怎么把数据库文件,放过去,代码如下:

DECLARE @DBNAME VARCHAR(255)

DECLARE @TargetPath VARCHAR(255)

DECLARE @CmdCommand VARCHAR(2000)

SET @DBNAME='TEST'

SET @TargetPath='D:\Program Files\Microsoft SQL Server\MSSQL10_50MSSQLSERVER\MSSQL\DATA'

--第一步:设置数据库脱机

SET @CmdCommand= 'ALTER DATABASE '+@DBNAME+' SET OFFLINE'

EXEC(@CmdCommand)

--第二步:物理拷贝数据库文件到新目录

DECLARE @FileName VARCHAR(255)

DECLARE @SourceFullName VARCHAR(255)

DECLARE FileCur CURSOR for SELECT name,physical_name from sysmaster_files where database_id=db_id(@DBNAME)

OPEN FileCur

FETCH NEXT FROM FileCur INTO @FileName,@SourceFullName

WHILE @@FETCH_STATUS=0

BEGIN

SET @CmdCommand= 'copy "'+@SourceFullName+'" "'+@TargetPath+'"'

EXEC masterxp_cmdshell @CmdCommand

--修改数据库文件的路径指向新目录

SET @CmdCommand='ALTER DATABASE '+@DBNAME+' MODIFY FILE(FILENAME='''+@TargetPath+CASE WHEN RIGHT(@TargetPath,1)='\'THEN'' ELSE'\' END+

RIGHT(@SourceFullName, CHARINDEX('\', REVERSE(@SourceFullName))-1)+''',name='''+@FileName+''')'

EXEC(@CmdCommand)

FETCH NEXT FROM FileCur INTO @FileName,@SourceFullName

END

CLOSE FileCur

DEALLOCATE FileCur

--第三步:设置数据库联机

SET @CmdCommand= 'ALTER DATABASE '+@DBNAME+' SET ONLINE'

EXEC(@CmdCommand)

也可以把这个做成一个过程,就不在这里修改了。

以上就是关于sql数据库还原 原是文件名怎么修改全部的内容,包括:sql数据库还原 原是文件名怎么修改、SQL怎么改变数据库的大小用代码、在SQL server中怎么在同一个主文件组下建两个不同的数据文件求格式,查询代码! 邮箱:lqt_devil@163.com等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10172542.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存