Create, Alter ve FileTables bırak
Yeni bir FileTable oluşturmak veya değiştirmek veya varolan bir FileTable bırak açıklar.
Bu Konuda
I want to...
Bir FileTable oluşturun
Nasıl yapılır: bir FileTable oluşturmak
Gereksinimleri ve kısıtlamaları bir FileTable oluşturmak için
ALTER bir FileTable
Nasıl yapılır: bir FileTable dizinini değiştirme
Gereksinimleri ve kısıtlamaları bir FileTable değiştirme
Bir FileTable bırak
Daha fazla bilgi edinin
- When you Create a FileTable diğer veritabanı nesneleri oluşturulur
Bir FileTable oluşturma
Bir FileTable önceden tanımlanmış ve sabit bir şema olan özel kullanıcı bir tablodur. Bu şema, FILESTREAM veri, dosya ve dizin bilgisi ve dosya öznitelikleri depolar. FileTable şeması hakkında daha fazla bilgi için bkz: FileTable şeması.
Sen-ebilmek yaratmak a yeni FileTable Transact-sql kullanarak veya SQL Server Management Studio. Bir FileTable sabit bir şema olduğundan, sütun listesi belirtmeniz gerekmez. Bir FileTable oluşturmak için basit sözdizimi belirtmenizi sağlar:
Bir dizin adı. FileTable klasör hiyerarşisinde, belirtilen veritabanı düzeyi ve dosyaların veya dizinlerin tabloda depolanan ana veritabanı dizini alt tablo düzeyi dizin olur.
Dosya adları için kullanılacak harmanlama adını ad FileTable sütun.
3 PRIMARY key ve UNIQUE kısıtlamaları otomatik olarak oluşturulan için kullanılacak adlar.
Nasıl yapılır: bir FileTable oluşturmak
Transact-sql kullanarak bir FileTable oluşturmak
Bir FileTable çağırarak oluşturmak Tablo (Transact-sql) oluşturdeyimi ile as FileTable seçeneği. Bir FileTable sabit bir şema olduğundan, sütun listesi belirtmeniz gerekmez. Yeni FileTable için şu ayarları belirtebilirsiniz:FILETABLE_DIRECTORY. Tüm dosyaların kök dizini ve FileTable içinde depolanan dizin görevi gören dizini belirtir. Bu ad, veritabanındaki tüm FileTable dizin adları arasında benzersiz olmalıdır. Geçerli harmanlama ayarlarını bağımsız olarak benzersiz karşılaştırma duyarlıdır.
Bu değer bir veri türüne sahip nvarchar(255) ve sabit bir harmanlama kullanır Estonian_CS_AS.
Sağladığınız dizin adı için geçerli bir dizin adı dosya sistemi gereksinimlerine uymak zorundadır.
Bu ad, veritabanındaki tüm FileTable dizin adları arasında benzersiz olmalıdır. Geçerli harmanlama ayarlarını bağımsız olarak benzersiz karşılaştırma duyarlıdır.
FileTable oluşturduğunuzda bir dizin adı belirtmezseniz, FileTable adı dizin adı olarak kullanılır.
FILETABLE_COLLATE_FILENAME. Uygulanacak harmanlama adını belirtir ad FileTable sütununda.
Belirtilen harmanlama olmalıdır duyarsız Windows Dosya semantik adlandırma etmis.
Bir değer belirtmezseniz FILETABLE_COLLATE_FILENAME, veya database_default, sütun geçerli veritabanı harmanlama devralır. Geçerli veritabanı harmanlama büyük/küçük harf duyarlıdır, bir hata oluşturulur ve create table işlemi başarısız olur.
Ayrıca 3 PRIMARY key ve UNIQUE kısıtlamaları otomatik olarak oluşturulan adlarını belirtebilirsiniz. Ardından ad belirtmezseniz, bu konuda ileride açıklandığı gibi sistem adları oluşturur.
FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME
FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME
FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME
Örnekler
Aşağıdaki örnek, yeni bir FileTable oluşturur ve hem de kullanıcı tanımlı değerler belirtir FILETABLE_DIRECTORY ve FILETABLE_COLLATE_FILENAME.
CREATE TABLE DocumentStore AS FileTable WITH ( FileTable_Directory = 'DocumentTable', FileTable_Collate_Filename = database_default ); GO
Aşağıdaki örnek, yeni bir FileTable de oluşturur. Kullanıcı tanımlı değerleri belirtilmemiş olduğundan, değeri FILETABLE_DIRECTORY FileTable, değer adı olur FILETABLE_COLLATE_FILENAME database_default olur ve birincil anahtar ve benzersiz contraints sistem tarafından oluşturulan adlar alır.
CREATE TABLE DocumentStore AS FileTable; GO
SQL Server Management Studio'yu kullanarak bir FileTable oluşturmak
Nesne Explorer'da altında seçili veritabanına nesneleri'ni genişletin, sonra sağ tıklayın tablo klasörü ve daha sonra Yeni FileTable.Bu seçenek, özelleştirebileceğiniz ve bir FileTable oluşturmak için çalıştırmak bir Transact-sql komut dosyası şablonu içeren yeni bir komut dosyası penceresi açılır. Kullanım Şablon parametreler için değerler belirtin Tarih seçeneği sorgu menü script kolayca özelleştirin.
[YUKARI]
Gereksinimleri ve kısıtlamaları bir FileTable oluşturmak için
Bir FileTable dönüştürmek için varolan bir tabloda değişiklik yapamazsınız.
Daha önce veritabanı düzeyinde belirtilen üst dizini boş olmayan bir değer olması gerekir. Veritabanı düzeyi dizin belirtme hakkında daha fazla bilgi için bkz: Önkoşullar için etkinleştir FileTable.
Bir FileTable, bir FileTable FILESTREAM sütun içerdiğinden geçerli bir FILESTREAM filegroup gerektirir. İsteğe bağlı olarak geçerli FILESTREAM filegroup bir parçası olarak belirleyebileceğiniz create table bir FileTable oluşturmak için komut. Bir filegroup belirtmezseniz, FileTable varsayılan FILESTREAM filegroup veritabanı kullanır. FILESTREAM filegroup veritabanı yoksa, bir hata oluşturulur.
Bir parçası olarak bir tablo kısıtlaması oluşturamazsınız bir create table…as FILETABLE deyimi. Ancak kısıtlamayı daha sonra kullanarak ekleyebileceğiniz bir alter table deyimi.
Bir FileTable içinde oluşturulamıyor tempdb veritabanı veya herhangi bir diğer sistem veritabanları.
Bir FileTable geçici bir tablo oluşturamazsınız.
[YUKARI]
Bir FileTable değiştirme
Yana bir FileTable önceden tanımlanmış ve sabit bir şema, ekleyemez veya sütunlarını değiştirmek. Ancak, bir FileTable için özel dizinler, Tetikleyiciler, kısıtlamaları ve diğer seçenekleri ekleyebilirsiniz.
Etkinleştirmek veya devre dışı FileTable ad sistem tanımlı kısıtlamaları da dahil olmak üzere, alter table deyimi kullanma hakkında bilgi için bkz: FileTables yönetme.
Nasıl yapılır: bir FileTable dizinini değiştirme
Transact-sql kullanarak bir FileTable dizinini değiştirme
alter table deyimi aramak ve geçerli yeni değer sağlamak FILETABLE_DIRECTORY set seçenek.Örnek
ALTER TABLE filetable_name SET ( FILETABLE_DIRECTORY = N'directory_name' ); GO
SQL Server Management Studio'yu kullanarak bir FileTable dizinini değiştirme
Nesne Gezgini'nde seçin ve FileTable sağ Özellikler açmak için Tablo özellikleri iletişim kutusu. Tarih FileTable sayfasında, yeni bir değer girin FileTable dizin adı.
[YUKARI]
Gereksinimleri ve kısıtlamaları bir FileTable değiştirme
Değeri değişiklik yapamazsınız FILETABLE_COLLATE_FILENAME.
Değiştiremez, bırakın veya bir FileTable sistem tanımlı sütunları devre dışı bırakın.
Bir FileTable için yeni kullanıcı sütunu, hesaplanan sütunlar veya kalıcı hesaplanmış sütunlar ekleyemezsiniz.
[YUKARI]
Bir FileTable bırakarak
Sen-ebilmek damla bir FileTable sıradan sözdizimini kullanarak drop table (Transact-sql)deyimi.
Bir FileTable düşürdüğünüzde aşağıdaki nesneler de bırakılır:
FileTable tüm sütunları ve tablo, dizinler, kısıtlamaları ve Tetikleyiciler gibi ilişkili tüm nesneler de düştü.
FileTable dizini ve içerdiği alt veritabanı FILESTREAM dosya ve dizin hiyerarşi yok.
FileTable'nın dosyası ad alanında açık dosya tanıtıcısı varsa drop table komutu başarısız olur. Açık tanıtıcıları kapatma hakkında daha fazla bilgi için bkz: FileTables yönetme.
[YUKARI]
When you Create a FileTable diğer veritabanı nesneleri oluşturulur
Yeni FileTable oluşturduğunuzda, bazı sistem tanımlı dizinler ve kısıtlamalar da oluşturulur. Alter veya bu nesneleri bırakın; sadece FileTable bırakılan olurlar. Bu nesnelerin listesini görmek için Katalog görünümü sorgulama sys.filetable_system_defined_objects (Transact-sql).
--View all objects for all filetables, unsorted
SELECT * FROM sys.filetable_system_defined_objects;
GO
--View sorted list with friendly names
SELECT OBJECT_NAME(parent_object_id) AS 'FileTable', OBJECT_NAME(object_id) AS 'System-defined Object'
FROM sys.filetable_system_defined_objects
ORDER BY FileTable, 'System-defined Object';
GO
Yeni FileTable oluşturduğunuzda, oluşturulan dizinler
Yeni FileTable oluşturduğunuzda, aşağıdaki sistem tanımlı dizinler ayrıca oluşturulur:Sütunlar
Dizin türü
[path_locator] ASC
Birincil anahtar, kümelenmemiş
[parent_path_locator] ASC,
[isim] ASC
Benzersiz, kümelenmemiş
[stream_id] ASC
Benzersiz, kümelenmemiş
Yeni FileTable oluşturduğunuzda, oluşturulan kısıtlamaları
Yeni FileTable oluşturduğunuzda, aşağıdaki sistem tanımlı kısıtlamaları da oluşturulur:Kısıtlamaları
Zorlar
Varsayılan kısıtlamaları aşağıdaki sütunlar:
creation_time
is_archive
is_directory
is_hidden
is_offline
is_readonly
is_system
is_temporary
last_access_time
last_write_time
path_locator
stream_id
Belirtilen sütun için varsayılan değerleri varsayılan sistem tanımlı kısıtlamaları zorlamak.
Check kısıtlamaları
Sistem tanımlı check kısıtlamaları aşağıdaki gereksinimler Uygula:
Geçerli dosya adları.
Geçerli dosya öznitelikleri.
Üst nesne, bir dizin olmalıdır.
Namespace hiyerarşi dosyası işleme sırasında kilitli.
Sistem tanımlı kısıtlamaları için adlandırma kuralı
Yukarıda açıklanan sistem tanımlı constaints biçiminde adlandırılır <constraintType>_<tablename>_<columnname>] _<uniquifier > yeri:<constraint_type>ck (check kısıtlaması), df (varsayılan kısıtlama), fk (yabancı anahtar), pk (birincil anahtar) veya uq (benzersiz kısıtlama) olduğunu.
<uniquifier>adı benzersiz yapmak için sistem tarafından oluşturulan dizesidir. Bu dize, FileTable adı ve benzersiz bir tanımlayıcı içerebilir.
[YUKARI]