22,301
社区成员




USE 要备份的数据库名
GO
DECLARE @fg sysname
SELECT @fg = fg.[name]
FROM sys.filegroups AS fg JOIN
sys.database_files AS f
ON fg.data_space_id = f.data_space_id
WHERE f.[name] = 'sysft_SF6.5'
EXEC('ALTER DATABASE 要备份的数据库名 REMOVE FILEGROUP ' + @fg)
GO
BACKUP DATABASE 要备份的数据库名 TO DISK = '备份文件的路径和备份文件名称'
WITH init
GO
USE jiude
GO
DECLARE @fg sysname
SELECT @fg = fg.[name]
FROM sys.filegroups AS fg JOIN
sys.database_files AS f
ON fg.data_space_id = f.data_space_id
WHERE f.[name] = 'sysft_SF6.5'
EXEC('ALTER DATABASE jiude REMOVE FILEGROUP ' + @fg)
GO
BACKUP DATABASE jiude TO DISK = 'E:\xvfdhggdfnfcshuju\yuanlai\wdgtw4e54w3333\a02231657059.mdf'
WITH init
GO
消息 156,级别 15,状态 1,第 1 行
关键字 'PRIMARY' 附近有语法错误。
消息 3007,级别 16,状态 1,第 1 行
不允许对文件或文件组 "sysft_pk_dnt_posts1_msg" 进行备份,因为它没有联机。可以使用 FILEGROUP 或 FILE 子句执行 BACKUP,以限制在选项中只包括联机数据。
消息 3007,级别 16,状态 1,第 1 行
不允许对文件或文件组 "sysft_SF6.5" 进行备份,因为它没有联机。可以使用 FILEGROUP 或 FILE 子句执行 BACKUP,以限制在选项中只包括联机数据。
消息 3007,级别 16,状态 1,第 1 行
不允许对文件或文件组 "sysft_PowerEasy" 进行备份,因为它没有联机。可以使用 FILEGROUP 或 FILE 子句执行 BACKUP,以限制在选项中只包括联机数据。
消息 3013,级别 16,状态 1,第 1 行
BACKUP DATABASE 正在异常终止。
USE 要备份的数据库名
GO
DECLARE @fg sysname
SELECT @fg = fg.[name]
FROM sys.filegroups AS fg JOIN
sys.database_files AS f
ON fg.data_space_id = f.data_space_id
WHERE f.[name] = 'sysft_SF6.5'
--GO 这个GO给注释掉就可以了
EXEC('ALTER DATABASE 要备份的数据库名 REMOVE FILEGROUP ' + @fg)
GO
BACKUP DATABASE 要备份的数据库名 TO DISK = '备份文件的路径和备份文件名称'
WITH init
GO
消息 137,级别 15,状态 2,第 1 行
必须声明标量变量 "@fg"。
消息 3007,级别 16,状态 1,第 1 行
不允许对文件或文件组 "sysft_pk_dnt_posts1_msg" 进行备份,因为它没有联机。可以使用 FILEGROUP 或 FILE 子句执行 BACKUP,以限制在选项中只包括联机数据。
消息 3007,级别 16,状态 1,第 1 行
不允许对文件或文件组 "sysft_SF6.5" 进行备份,因为它没有联机。可以使用 FILEGROUP 或 FILE 子句执行 BACKUP,以限制在选项中只包括联机数据。
消息 3007,级别 16,状态 1,第 1 行
不允许对文件或文件组 "sysft_PowerEasy" 进行备份,因为它没有联机。可以使用 FILEGROUP 或 FILE 子句执行 BACKUP,以限制在选项中只包括联机数据。
消息 3013,级别 16,状态 1,第 1 行
BACKUP DATABASE 正在异常终止。
---參考
/*
这是因为数据库中全文目录是未联机。 要执行完整备份, SQL Server 2005 需要所有数据库文件和将联机数据库中全文目录。
因为一个或多个下列条件都满足全文目录可能联机:• 全文目录文件夹删除或者损坏。
• 您没有启用全文索引数据库。
• 是从 Microsoft SQL Server 2000 数据库备份还原数据库。 因此, 文件夹是全文目录数据库中不存在其中还原数据库服务器上。
• 从 SQL Server 2000 升级 SQL Server 2005, 您运行的实例。 但是, 全文搜索服务无法访问在升级过程。
• 从位置附加数据库。 期间附件但是, 您指定为该全文目录文件夹正确位置。
解决问题:
1、创建全文索引
xxxx数据库—>属性—>文件—>使用全文索引
2、重新执行完整备份
*/
USE [MES]
GO
/****** Object: StoredProcedure [dbo].[p_backupdb] Script Date: 12/03/2008 08:05:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[p_backupdb]
@dbname sysname='', --要备份的数据库名称,不指定则备份当前数据库
@bkpath nvarchar(260)='', --备份文件的存放目录,不指定则使用SQL默认的备份目录
@bkfname nvarchar(260)='', --备份文件名,文件名中可以用\DBNAME\代表数据库名,\DATE\代表日期,\TIME\代表时间
@bktype nvarchar(10)='DB', --备份类型:'DB'备份数据库,'DF' 差异备份,'LOG' 日志备份
@appendfile bit=1 --追加/覆盖备份文件
as
declare @sql varchar(8000)
if isnull(@dbname,'')='' set @dbname=db_name()
if isnull(@bkpath,'')='' set @bkpath=dbo.f_getdbpath(null)
if isnull(@bkfname,'')='' set @bkfname='\DBNAME\_\DATE\_\TIME\.BAK'
set @bkfname=replace(replace(replace(@bkfname,'\DBNAME\',@dbname)
,'\DATE\',convert(varchar,getdate(),112))
,'\TIME\',replace(convert(varchar,getdate(),108),':',''))
set @sql='backup '+case @bktype when 'LOG' then 'log ' else 'database ' end +@dbname
+' to disk='''+@bkpath+@bkfname
+''' with '+case @bktype when 'DF' then 'DIFFERENTIAL,' else '' end
+case @appendfile when 1 then 'NOINIT' else 'INIT' end
print @sql
exec(@sql)
消息 102,级别 15,状态 1,第 2 行
'{' 附近有语法错误。
消息 102,级别 15,状态 1,第 4 行
'{' 附近有语法错误。