SQLに特定のテーブルを指定せずにスケジュールバックアップを作成する必要があります。そのテーブルでバックアップを取ると時間がかかるからです。バックアップから1つのテーブルを除外する必要があります。出来ますか?そのテーブルがなければ、すべてのテーブルとデータがデータベースに存在するはずです。
PRIMARYファイルグループとは別に、この1つのテーブルに個別のファイルグループを設定できます。これにより、大きなテーブルを省略したバックアップを作成できるようになります。以下は、プロセスをステップアウトする例です。
1)データベースの新しいファイルグループを作成します。
USE [master]
GO
ALTER DATABASE [EXAMPLEDB] ADD FILEGROUP [EXAMPLEFG1]
GO
2)新しいファイルグループにわずかに異なる名前で同じテーブルを作成します。
CREATE TABLE [dbo].[example]
(
[e] [int] NOT NULL
)
ON [EXAMPLEFG1]
GO
3)元のテーブルから新しいテーブルにレコードを挿入します。
4)古いテーブルを削除し、新しいテーブルの名前を古いテーブルの名前と一致するように修正します。
5)現在ファイルグループ「EXAMPLEFG1」にあるテーブルを除外するバックアップPRIMARY。
BACKUP DATABASE EXAMPLE
FILEGROUP = 'PRIMARY',
TO DISK = '<Your Directory>'
GO
ExampleFG1のバックアップを行う場合は、上記のクエリでFILEGROUP値を「EXAMPLEFG1」に変更するだけです。
ファイルグループのバックアップの詳細については、これをチェックしてください Microsoftサイト 。
お役に立てれば!
マイクの answer はほぼ正しいですが、データを移動するために別のテーブルを作成する必要がない必要はありません。
私が自分でテストした この回答 によると、ファイルグループを作成した後、クラスター化インデックスを他のファイルグループに移動する必要があります。クラスター化インデックスがない場合は、このプロセスで役立つようにインデックスを作成できます。非クラスター化インデックスもある場合は、それらも移動します。終了すると、すべてのデータがファイルグループ間で自動的に移動されます。
したがって、この大きなテーブルをバックアップルーチンから除外する場合は、次の手順を実行します。
新しいファイルグループを作成します。
USE [master]
ALTER DATABASE [MyDatabase] ADD FILEGROUP [FG_MYBIGTABLE]
このファイルグループに新しいファイルを追加します。
ALTER DATABASE [MyDatabase]
ADD FILE
(
name = MyDatabase_MyBigTable,
filename = 'C:\DB_Files\MyDatabase_MyBigTable.ndf',
size = 1024MB,
maxsize = unlimited,
filegrowth = 100MB
)
TO FILEGROUP FG_MYBIGTABLE
古いインデックスをDROP_EXISTING
で作成して、クラスター化インデックスを移動します。
CREATE UNIQUE CLUSTERED INDEX CIX_MyBigTable
ON MyDatabase.dbo.MyBigTable (ID)
WITH DROP_EXISTING, ONLINE
ON FG_MYBIGTABLE
他のインデックスを移動します。
CREATE NONCLUSTERED INDEX [IX_OtherTable]
ON MyDatabase.dbo.MyBigTable (OtherTable_ID)
WITH DROP_EXISTING, ONLINE
ON FG_MYBIGTABLE
PRIMARYファイルグループを参照してデータベースをバックアップします。
BACKUP DATABASE MyDatabase
FILEGROUP = 'PRIMARY',
TO DISK = 'C:\Backups\MyBackup.bak'
テーブルをバックアップから除外することはできません。これは、バックアップの一部ではなく、全体を定義するものです。ただし、これを回避する方法はいくつかあります。 couldこれを行う1つの方法は、2番目のデータベースを作成し、そのテーブルを除くすべてのデータをデータベースからこれにコピーすることです。データベースを作成し、コピーをバックアップします。レプリケーションを使用してデータをコピーし、テーブルを除外して、レプリケートされたデータベースをバックアップできます。問題は、データベースの残りの部分にあるデータの量が原因で、これらのいずれかが実際には長くかかる可能性があることです。