⑴ sql怎麼備份數據
:"無法打開備份設備 'E:\備份\data_true\data_bak_t'
這個問題是因為這個文件夾不存在
還有你用的是ORACLE還是MSS
如果是ORACLE安裝的時候選的不是文件系統,當然也是這個問題
如果是MSS,詳細翻看維護計劃相關的幫助文檔
⑵ sql server 2005 bcp可以用where條件篩選吧
set @sqlstr='bcp "select * from test..table where convert(varchar(10),starttime,120)=convert(varchar(10),dateadd(day,-1,getdate()),120) " queryout "D:\SQLautobackup\'+@sqldate+'.txt" -c -T'
exec master.dbo.xp_cmdshell @sqlstr 試試
⑶ SQL Server存儲過程的問題!
1、
CREATE FUNCTION return_num
(@Class_Num varchar(20) )
RETURNS int
AS
BEGIN
RETURN ( select cout(*) from classmates where classnum=@Class_Num )
END
3、
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Database 資料庫名字' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Database 資料庫名字'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
END
DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'備份資料庫名字',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'每天上午資料庫備份',
@category_name=N'Database 資料庫名字',
@owner_login_name=N'sa', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Daily Backup',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'declare @strDate nvarchar(max);
set @strDate = N''D:\DataBaseAutoBackup\資料庫名字_'' + Convert(nvarchar(8),getdate(),112) + N''.bak''
BACKUP DATABASE [資料庫名字] TO DISK = @strDate WITH NOFORMAT, NOINIT, NAME = N''資料庫名字_Dev-完整 資料庫 備份'', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO',
@database_name=N'master',
@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschele @job_id=@jobId, @name=N'Daily Backup',
@enabled=1,
@freq_type=4,
@freq_interval=1,
@freq_subday_type=1,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=0,
@active_start_date=20120510,
@active_end_date=99991231,
@active_start_time=50000,
@active_end_time=235959,
@schele_uid=N'f90cfdc3-cb5d-4e19-9e93-99b8921d36c0'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
GO
打字不易,如滿意,望採納。
⑷ 如何備份sql資料庫
用SQL Server Management Studio連接伺服器後 選擇你要備份的資料庫 然後 TASK -》 BACK UP -》然後按說明操作來
⑸ mysql自動備份影響資料庫運行嗎
1. 寫個自動備份的腳本autobackup.sh,內容如下#!/bin/bashmysqlmp -p databasename > mydata.sql2. 更改其為可執行文件 chmod +x autobackup.sh3. 通過crontab讓系統自動運行這個腳本就好了,如crontab -e0 0 * * * /路徑到/autobackup.sh第一個0表示分鍾,第二個0表示0小時也就是零辰第三個*表示每天,第四個*表示每月,第五個*表示每周
⑹ 關於SQL的問題,存儲過程的!
1、
CREATE FUNCTION return_num
(@Class_Num varchar(20) )
RETURNS int
AS
BEGIN
RETURN ( select cout(*) from classmates where classnum=@Class_Num )
END
3、
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Database 資料庫名字' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Database 資料庫名字'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
END
DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'備份資料庫名字',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'每天上午資料庫備份',
@category_name=N'Database 資料庫名字',
@owner_login_name=N'sa', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Daily Backup',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'declare @strDate nvarchar(max);
set @strDate = N''D:\DataBaseAutoBackup\資料庫名字_'' + Convert(nvarchar(8),getdate(),112) + N''.bak''
BACKUP DATABASE [資料庫名字] TO DISK = @strDate WITH NOFORMAT, NOINIT, NAME = N''資料庫名字_Dev-完整 資料庫 備份'', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO',
@database_name=N'master',
@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschele @job_id=@jobId, @name=N'Daily Backup',
@enabled=1,
@freq_type=4,
@freq_interval=1,
@freq_subday_type=1,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=0,
@active_start_date=20120510,
@active_end_date=99991231,
@active_start_time=50000,
@active_end_time=235959,
@schele_uid=N'f90cfdc3-cb5d-4e19-9e93-99b8921d36c0'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
GO
打字不易,如滿意,望採納。
滿意請採納。
⑺ 如何在linux下實現mysql資料庫每天自動備份
1. 寫個自動備份的腳本autobackup.sh,內容如下
#!/bin/bash
mysqlmp -p databasename > mydata.sql
2. 更改其為可執行文件 chmod +x autobackup.sh
3. 通過crontab讓系統自動運行這個腳本就好了,如crontab -e
0 0 * * * /路徑到/autobackup.sh
第一個0表示分鍾,第二個0表示0小時也就是零辰第三個*表示每天,第四個*表示每月,第五個*表示每周
⑻ 關於sql server存儲過程
1、
CREATE FUNCTION return_num
(@Class_Num varchar(20) )
RETURNS int
AS
BEGIN
RETURN ( select cout(*) from classmates where classnum=@Class_Num )
END
3、
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Database 資料庫名字' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Database 資料庫名字'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
END
DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'備份資料庫名字',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'每天上午資料庫備份',
@category_name=N'Database 資料庫名字',
@owner_login_name=N'sa', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Daily Backup',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'declare @strDate nvarchar(max);
set @strDate = N''D:\DataBaseAutoBackup\資料庫名字_'' + Convert(nvarchar(8),getdate(),112) + N''.bak''
BACKUP DATABASE [資料庫名字] TO DISK = @strDate WITH NOFORMAT, NOINIT, NAME = N''資料庫名字_Dev-完整 資料庫 備份'', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO',
@database_name=N'master',
@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschele @job_id=@jobId, @name=N'Daily Backup',
@enabled=1,
@freq_type=4,
@freq_interval=1,
@freq_subday_type=1,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=0,
@active_start_date=20120510,
@active_end_date=99991231,
@active_start_time=50000,
@active_end_time=235959,
@schele_uid=N'f90cfdc3-cb5d-4e19-9e93-99b8921d36c0'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
GO
是否可以解決您的問題?
⑼ 如何讓SQL Server自動定時備份資料庫並按日期命名
使用SQL Server代理,新建一個作業,備份資料庫的核心SQL語句如下:
--新建名為AutoBackUpDataBase作業,新建名為BackUp的步驟,定時每周六(可以自己設置定時備份周期)備份資料庫Test,備份文件存儲在位置F:\DB_Backup\
--備份文件的格式為: yyyy-MM-dd.bak,如2017-01-10.bak
DECLARE @str varchar(100)
SET @str='F:\DB_Backup\'+convert(varchar,getdate(),23)+'.bak'
BACKUP DATABASE Test TO DISK=@str
⑽ sql 2005 資料庫怎麼備份
可以利用作業來實現的(一般要按時間來操作數據的話都可以用作業實現):
1.啟動Sql Server Agent 服務
2.創建作業(這里寫入備份資料庫的sql語句)
3.添加常規
4.添加步驟
5.添加計劃,設置頻率,時間等(設置作業的頻率)
具體的詳細步驟可以參考http://blog.sina.com.cn/s/blog_53b5c8c40100d4z3.html