Aracılığıyla paylaş


SQL Server tanımlayıcıları PowerShell içinde kullanma

Kullandığınızda, SQL Server ile Windows PowerShell sağlayıcı Veritabanı Altyapısı, hem bilgisayar hem de için bile örnek adlarını sağlamanız gerekirvarsayılan örneği.

The provider uses SQL Server identifiers in Windows PowerShell paths.SQL Server identifiers can contain characters that Windows PowerShell does not support in paths.Bu karakterler, çıkış veya özel onlar için Windows PowerShell yolları tanımlayıcıları kullanırken kodlamayı kullanır.

Bilgisayar adları

Çalıştıran bilgisayarın adını SQLSERVER:\SQL izleyen ilk düğümü olan örnek , Veritabanı Altyapısı; Örneğin, SQLSERVER:\SQL\MyComputer. Windows PowerShell örnek aynı bilgisayarda çalıştırıyorsanız Veritabanı Altyapısı, kullanabileceğiniz localhost ya da (yerel) yerine bilgisayarının adı.Farklı bilgisayar adlarını yansıtacak şekilde değiştirilmesine gerek kalmadan, localhost veya (yerel) kullanan komut dosyaları herhangi bir bilgisayarda çalıştırılabilir.Örneğin, bu komut için gidecek AdventureWorks2008R2 örnek veritabanında, varsayılan örnek yerel bilgisayarda:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2008R2

(Yerel) ayraç karakterleri komutları Windows PowerShell tarafından normal olarak kabul edilir.Aşağıdakilerden birini yapmalısınız:

  • Yol dizelerini tırnak içine alın:

    Set-Location "SQLSERVER:\SQL\(local)\DEFAULT\Databases\AdventureWorks2008R2"
    
  • Geri onay karakteri (') kullanarak ayraç çıkış.

    Set-Location SQLSERVER:\SQL\`(local`)\DEFAULT\Databases\AdventureWorks2008R2
    
  • Kendi onaltılı gösterim kullanılarak parantez kodlama.

    Set-Location SQLSERVER:\SQL\%28local%29\DEFAULT\Databases\AdventureWorks2008R2
    

Kaçış ve karakter kodlaması daha fazla ayrıntı bu konunun ilerisinde açıklanmıştır.

PowerShell komut dosyalarınızda yerel bilgisayarı belirtmek için bir nokta (.) kullanamazsınız.Dönem Dönem PowerShell komut olarak yorumlanır için desteklenmez.

Varsayılan örnek adları

Birden fazla örneği çalışabilir Veritabanı Altyapısı çalıştırılabilir program aynı bilgisayar.Örnekleri Veritabanı Altyapısı bilgisayarın adını ve gibi bir örnek adı birleşimi tarafından tanımlanırMyComputer\MyInstance.

Her bilgisayar bir sahip varsayılan örnek , Veritabanı Altyapısı.Yeniden yüklediğinizde, varsayılan örnek için bir ad belirtin.Bir bağlantıda yalnızca bir bilgisayar adı belirtmeniz, dize, o bilgisayardaki varsayılan örneğine bağlı.Bilgisayardaki tüm diğer örnekleri örnekleri olarak adlandırılmalıdır.Kurulum sırasında belirlediğiniz örnek adı ve bağlantı dizeleri hem bilgisayar adını hem de örnek adı belirtmeniz gerekir.

The SQL Server provider requires that you always specify an instance name.Varsayılan örneği için varsayılan örnek adını belirtmeniz gerekir.

Windows PowerShell yolu sql Server tanımlayıcıları

Windows PowerShell sağlayıcıları Windows dosya sistemi için kullanılan benzer bir yol yapı kullanarak veri hiyerarşileri göstermek.The SQL Server provider implements paths to SQL Server objects.İçin Veritabanı Altyapısı, sürücü için sqlserver küme: \sql için ilk klasörü küme ve veritabanı nesnelerini kapsayıcılar ve maddelerin. başvurulanBu yol, Vendor , tablo Purchasing şeması, AdventureWorks2008R2 içinde veritabanı bir varsayılan örnek , Veritabanı Altyapısı:

SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2008R2\Tables\Purchasing.Vendor

SQL Servertanýtýcýlarýn adlarını SQL Server , benzeri nesneleri tablo veya sütun adları.İki tür vardır SQL Server tanımlayıcıları:

  • Normal tanımlayıcıları Windows PowerShell yolları da desteklenen karakter küme sınırlı olmalıdır.Bu adlar Windows PowerShell yolları değişiklik olmadan kullanılabilir.

  • Sınırlandırılmış tanımlayıcıları, Windows PowerShell yol adları desteklenmeyen karakterler kullanabilirsiniz.Sınırlandırılmış tanımlayıcıları köşeli ayraç ([IdentifierName]) içine alınır, tutucuda tanımlayıcılar olarak adlandırılan ve Belirleyicileri, çift tırnak ("IdentifierName") içine alınır.sınırlandırılmış tanımlayıcı Windows PowerShell yolları desteklenmeyen karakterler kullanıyorsa, karakterler kodlanmış veya tanımlayıcı bir kapsayıcı veya öğe adı olarak kullanmadan önce virgüllerden önce.Tüm karakterler için kodlama çalışır.İki nokta üst üste karakteri gibi bazı karakterler virgüllerden (:), önce olamaz.

Kodlama ve kod çözme tanımlayıcıları

Windows PowerShell yol adları desteklenmeyen karakterler temsil edilen, veya olabilir, "%" kodlanmış karakter karakter gibi temsil eden bit deseni onaltılık değerini arkasından "**%**xx".Kodlama her zaman Windows PowerShell yolları desteklenmeyen karakterler işlemek için kullanılır.

The Encode-SqlName cmdlet takes as input a SQL Server identifier.Onu "% xx" ile kodlanmış Windows PowerShell dil tarafından desteklenmeyen karakterler içeren bir dize verir.The Decode-SqlName cmdlet takes as input an encoded SQL Server identifier and returns the original identifier.Örneğin:

  • Bu komut verir dize "Tablosu % 3ATest":

    Encode-SqlName "Table:Test"
    
  • Bu komut, "Tablo: Test" döndürür:

    Decode-SqlName "Table%3ATest"
    

Windows PowerShell cmdlet'lerini sınırlandırılmış tanımlayıcıları belirttiğinizde, ya da kodlanmış karakter değerlerini kendiniz veya kullanım sağlayabilir Kodla SqlName kodlanmış karakterlerin sağlamak için.Örneğin, tabloyu içeren şema yaptıysanız [Tablo: Test], yapabilirsiniz cd kodlanmış sürüm sağlayarak tablosuna ":" karakter:

Set-Location Table%3ATest

Alternatif olarak, kullanmak Kodla SqlName Windows PowerShell tarafından desteklenen bir ad oluşturmak için:

Set-Location (Encode-SqlName "Table:Test")

Bunlar tarafından kodlanmış karakterlerin Kodla SqlName ve kodu çözülmüş olarak SqlName kod çözme:

Karakter

\

/

:

%

<

>

*

?

[

]

|

Onaltılı kodlaması

% 5 C

% 2F

% 3A

%25

% 3 C

% 3E

% 2A

% 3F

% 5B

% 5 D

% 7 C

Kaçış karakteri

Sık kullandığınız izin verilen çıkış karakterleri için Windows PowerShell tick arka çıkış karakteri (') SQL Server sınırlandırılmış tanımlayıcıları ancak Windows PowerShell yol adları.Bazı karakterler ancak virgüllerden önce olamaz.Örneğin, iki nokta karakteri (:) Windows PowerShell. kaçış olamazBu karakteri içeren tanımlayıcıları kodlanması gerekir.Kodlama, works tüm karakterler için kodlama çünkü kaçış çok daha güvenilirdir.

Bu kaçış bir # karakteri, bir örnek verilmiştir:

cd SQLSERVER:\SQL\MyComputer\MyInstance\MyDatabase\MySchema\`#MyTempTable

Arka onay karakteri ('), sol üst köşedeki esc tuşu altında klavye anahtar genellikle açıktır.

sql Server tanımlayıcıları cmdlet'leri

Bazı SQL Server cmdlet'leri sahip bir parametre alır tanımlayıcı olarak girdi.Parametre değerleri genellikle tırnak içinde dize sabitleri veya dize değişkenleri de sağlanır.Tanımlayıcıları veya değişkenler dize sabitleri olarak sağlanan olmadığında çakışma yoksa küme Windows PowerShell tarafından desteklenen karakter.