Toplu veri bulk INSERT veya openrowset(bulk...) kullanarak alma (SQL Server)

Bu konuda nasıl genel bakış sağlar Transact-SQLbulk INSERT deyimi ve Ekle...SEÇİN * openrowset(bulk...) from deyimi toplu veri dosyasına veri almak a SQL Servertablosu. Bu konuda Ayrıca bulk INSERT ve openrowset(bulk…) kullanarak ve toplu alma uzak veri kaynağı için bu yöntemleri kullanarak güvenlik konuları açıklanmaktadır.

[!NOT]

bulk INSERT veya openrowset(bulk…) kullandığınızda, bunu anlamak önemlidir nasıl SQL Serversürüm işleme kimliğe bürünme. Daha fazla bilgi için bkz: "Güvenlik konuları" Bu konudaki.

bulk INSERT deyimi

bulk INSERT verileri bir tabloya veri dosyasından yükler. Bu işlev tarafından sağlanan benzer inseçeneği bcpkomutu; Ancak, veri dosyası tarafından okunur SQL Serverişlem. bulk INSERT sözdiziminin açıklaması için bkz: BULK INSERT (Transact-SQL).

Örnekler

bulk INSERT örnekler için bkz:

OPENROWSET(BULK…) İşlevi

openrowset toplu satır kümesi sağlayıcı openrowset işlevini çağırarak ve bulk seçeneği belirterek erişilir. openrowset(bulk…) işlevi bir ole db sağlayıcısı aracılığıyla bir veri dosyası gibi bir uzak veri kaynağına bağlanarak uzak veri erişimi sağlar.

Toplu alma verileri select… openrowset(bulk…) çağrıfrom yan tümcesi INSERT deyimi içinde. Veri alma toplu temel sözdizimi şöyledir:

EKLE... SEÇİN * OPENROWSET(BULK...) DAN

Bir INSERT deyimi kullanıldığında, Tablo ipuçları openrowset(bulk...) destekler. Normal Tablo ipuçları, tablock gibi ek olarak toplu yan tümcesi aşağıdaki özel tablo ipuçları kabul edebilir: IGNORE_CONSTRAINTS (yalnızca check kısıtlamaları dikkate almaz), IGNORE_TRIGGERS, keepdefaults ve KEEPIDENTITY. Daha fazla bilgi için, bkz. Tablo ipuçları (Transact-sql).

bulk seçeneği ek kullanımları hakkında daha fazla bilgi için bkz: OPENROWSET (Transact-SQL).

Örnekler

INSERT örnekleri için...SEÇİN * from openrowset(bulk...) deyimleri bkz: aşağıdaki konular:

Güvenlikle İlgili Hususlar

Bir kullanıcı bir SQL Servergiriş, güvenlik profili SQL Serverişlem hesabı kullanılır. Buna karşılık, eğer bir SQL Serverkullanıcı oturum açtığında Windows kimlik doğrulaması kullanarak, kullanıcı, kullanıcı hesabının güvenlik profili bakılmaksızın erişilebileceğini dosyaları okuyabilir SQL Serverişlem.

Örneğin örneğine oturum açan bir kullanıcının düşünün SQL ServerWindows kimlik doğrulaması kullanarak. Kullanıcı bir veri dosyasına veri için bulk INSERT veya openrowset kullanabilmek için bir SQL Servertablo, kullanıcı hesabı gerektirir veri dosyasını okuma erişimi. Veri dosyasına erişim ile kullanıcı veri dosyasından tablo bile alabilirsiniz SQL Serverişlem dosyaya erişim izni yok. Kullanıcının dosya erişim izni vermek yok SQL Serverişlem.

SQL Serverve Microsoftörneğini etkinleştirmek için Windows yapılandırılabilir SQL Serverbaşka bir örneğine bağlanmak için SQL Servertarafından kimliği doğrulanmış Windows kullanıcı kimlik bilgilerini iletme. Bu düzenleme olarak bilinen kimliğe bürünme veya temsilcisi. Anlama nasıl SQL Serversürüm tanıtıcısı güvenlik için kullanıcı kimliğine bürünme veya openrowset bulk INSERT kullandığınızda önemlidir. Kullanıcı kimliğine bürünme verir ya da daha farklı bir bilgisayarda bulunan veri dosyası SQL Serverişlem veya kullanıcının. Örneğin, eğer bir kullanıcı BİLGİSAYAR_A bir veri dosyasına erişimi Computer_Bve kimlik bilgileri temsilcisi ayarladığınızdan, kullanıcı örneğine bağlanabilir SQL Server, üzerinde çalıştığı Computer_C, veri dosyası üzerinde erişim Computer_Bve üzerinde bir tabloya Bu dosyadan veri alma toplu Computer_C. Daha fazla bilgi için bkz: Impersonation Overview.

Toplu uzak veri dosyasından alma

bulk INSERT veya INSERT kullanma...SEÇİN * toplu olarak openrowset(bulk...) başka bir bilgisayardan veri alma, veri dosyasındaki iki bilgisayar arasında paylaşılmış olması gerekir. Paylaşılan veri dosyası belirtmek için kullanın, evrensel adlandırma kuralı (unc) adı, genel biçimi alır, **\Servername\Sharename\Path\**Filename. Ayrıca, veri dosyasına erişmek için kullanılan hesabı uzak dosyasını okumak için gerekli izinleriniz olmalıdır.

Örneğin, aşağıdaki BULK INSERTdeyimi toplu ithalat verileri SalesOrderDetailtablo AdventureWorksveritabanı olan adlı bir veri dosyası newdata.txt. Bu veri dosyası adlı paylaşılan bir klasörde bulunan \dailyordersadlı dizinin bir ağda paylaşıma salesforceadlı bir sistemde computer2.

BULK INSERT AdventureWorks2012.Sales.SalesOrderDetail
   FROM '\\computer2\salesforce\dailyorders\neworders.txt';
GO

[!NOT]

Bu kısıtlama geçerli değildir bcpdosyanın bağımsız istemci okuyacağı için yardımcı SQL Server.

Ayrıca bkz.

Başvuru

Insert (Transact-sql)

Yantümcesi (Transact-sql) seçin

OPENROWSET (Transact-SQL)

select (Transact-sql)

FROM (Transact-sql)

BCP yardımcı programı

BULK INSERT (Transact-SQL)

Kavramlar

Toplu alma ve verme veri (SQL Server)