Udostępnij za pośrednictwem


Using SQL Server Identifiers in PowerShell

Po użyciu SQL Server dostawca dla systemu Windows PowerShell z Database Engine, musisz podać nazwy komputera i wystąpienie, nawet w przypadku wystąpienia domyślnego.

The provider uses SQL Server identifiers in Windows PowerShell paths.SQL Server identifiers can contain characters that Windows PowerShell does not support in paths.Edytor zagnieżdżania regionów konspekt tagów zagnieżdżonych.

Na przykład edytor XMLA tworzy trzech regionach konspektu dla następującego dokumentu.

Pierwszy węzeł po SQLSERVER:\SQL to nazwa komputera, na którym jest uruchomione wystąpienie programu Database Engine; na przykład SQLSERVER:\SQL\MyComputer.Jeśli powłoka Windows PowerShell jest uruchomiona na tym samym komputerze co wystąpienie programu Database Engine, można użyć nazwy localhost lub (local) zamiast nazwy komputera.Skrypty, w których jest używana nazwa localhost lub (local), mogą działać na dowolnym komputerze bez dopasowywania ich do różnych nazw komputerów.To polecenie na przykład przechodzi do przykładowej bazy danych AdventureWorks w wystąpieniu domyślnym na komputerze lokalnym.

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

Znaki nawiasów w nazwie (local) są standardowo traktowane jako polecenia przez powłokę Windows PowerShell.Należy:

  • Instancje.

    Set-Location "SQLSERVER:\SQL\(local)\DEFAULT\Databases\AdventureWorks"
    
  • Pierwszy partia jest kod od początku pliku pierwsze polecenie OBLICZ lub koniec pliku, gdy nie ma żadnych poleceń GO.

    Set-Location SQLSERVER:\SQL\`(local`)\DEFAULT\Databases\AdventureWorks
    
  • Po pierwszym GO nie ma jednej partia każdego polecenia przejdź do następnego polecenia OBLICZ lub koniec pliku.

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

Bloki rozdzielone następujących słów kluczowych:

POCZĄTKOWEGO - KOŃCOWEGOPOCZĄTEK TRY - KONIEC TRY

ROZPOCZNIJ CATCH - CATCH ZAKOŃCZENIA

Można uruchamiać wiele wystąpień Database Engine program wykonywalny na tym samym komputerze. Na przykład Database Engine Edytor kwerend tworzy trzech regionach konspektu dla następującej kwerendy:

Na każdym komputerze może znajdować się jedno domyślne wystąpienie programu Database Engine.Podczas instalowania domyślnego wystąpienia nie została określona jej nazwa.Jeśli w ciągu połączenia jest określona tylko nazwa komputera, nastąpi połączenie z domyślnym wystąpieniem na tym komputerze.Wszystkie inne wystąpienia na tym komputerze muszą być wystąpieniami nazwanymi.Nazwa wystąpienia została określona podczas konfigurowania i w ciągach połączenia musi być określona zarówno nazwa komputera, jak i nazwa wystąpienia.

Dostawca programu SQL Server wymaga, aby zawsze była określana nazwa wystąpienia.W przypadku wystąpień domyślnych musi być określona nazwa wystąpienia DEFAULT.

W ten sposób zmiany są przechowywane w pamięci, dopóki nie zapiszesz plików.

Pojawi się następnie monit o wyewidencjonowanie pliku z kontrola urządzenie źródłowe.The SQL Server dostawca implements paths to SQL Server objects. Dla Database Engine, stacja dysków jest zestaw do SQLSERVER:, pierwszy folder jest zestaw \SQL i w bazie danych obiektów są wywoływane jako kontenerów i elementy. Jest to ścieżka do Dostawcy tabelaZakupu schematuAdventureWorks bazy danych w domyślnym wystąpienie Database Engine:

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

SQL Server Identyfikatory są nazwy SQL Server obiekty, takie jak nazwy tabela lub kolumna. Istnieją dwa typy SQL Server identyfikatory:

  • W normalnych identyfikatorach mogą występować tylko znaki obsługiwane także w ścieżkach powłoki Windows PowerShell.Nazwy te mogą być bez zmian używane w ścieżkach powłoki Windows PowerShell.

  • W identyfikatorach oddzielonych mogą być używane znaki, które nie są obsługiwane w nazwach ścieżek powłoki Windows PowerShell.Identyfikatory oddzielone są nazywane identyfikatorami w nawiasach, jeśli są ujęte w nawiasy kwadratowe ([NazwaIdentyfikatora]), lub identyfikatorami w cudzysłowach, jeśli są ujęte w cudzysłowy ("NazwaIdentyfikatora").Jeśli identyfikator oddzielony zawiera znaki nieobsługiwane w ścieżkach powłoki Windows PowerShell, znaki te muszą zostać wcześniej zakodowane lub poprzedzone znakiem ucieczki, aby identyfikator mógł zostać użyty jako nazwa kontenera lub elementu.Kodowanie działa na wszystkie znaki.Niektórych znaków, jak znaku dwukropka (:), nie można poprzedzić znakiem ucieczki.

Po wpisaniu funkcja jako parametr do innej funkcja listy parametrów wyświetla parametry dla funkcja wewnętrznej.

Znaki, które nie są obsługiwane w nazw ścieżka PowerShell systemu Windows mogą być reprezentowane lub kodowane jako znak "%", a po nim wartość szesnastkowa dla wzorca bitów reprezentuje znak, jak w"**%**xx".Aby wyświetlić informacje o parametr dla funkcji lub procedur przechowywanych

The Encode-SqlName cmdlet takes as input a SQL Server identifier.Po wpisaniu nazwy procedura przechowywana, wpisz spację, podczas pisania zwykle, aby uzyskać informacje na temat parametrów procedury.The Decode-SqlName cmdlet takes as input an encoded SQL Server identifier and returns the original identifier.Na przykład:

  • Pierwszy parametr na liście jest wyświetlany czcionką pogrubioną.

    Encode-SqlName "Table:Test"
    
  • Podczas wpisywania parametrów pogrubioną czcionkę ulega zmianie, uwzględniając kolejny parametr, który należy wprowadzić.

    Decode-SqlName "Table%3ATest"
    

Po określeniu rozdzielanego identyfikatorów w cmdlets PowerShell systemu Windows, można albo podać wartości zakodowanej znaków samodzielnie lub wykorzystania Koduj SqlName zawierają znaki zakodowane.Na przykład, jeśli już przejściu do schematu, zawierającą tabela [tabela: test], you can dysk CD do tabela, zapewniając wersja zakodowanej ": „ Aby ręcznie uruchomić informacje parametru

Set-Location Table%3ATest

Ewentualnie można użyć polecenia Encode-SqlName, aby utworzyć nazwę obsługiwaną przez powłokę PowerShell:

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

Są to znaki zakodowane przez Koduj SqlName i dekodowane przez SqlName dekodowania:

Znak

\

/

:

%

<

>

*

?

[

]

|

Kodowanie szestnastkowe

Zaktualizowane pierwszym krokiem w sekcji „ Aby wyświetlić informacje o parametr"oznacza, że informacje o parametrach będzie wyświetlany dla procedura przechowywana, gdy zostanie wpisana spacja po nazwie procedura przechowywana.

Doradca dostrajania aparat bazy danych Omówienie

% 3A

%25

Doradca dostrajania aparat bazy danych analizuje obciążenia i fizycznego wykonania jednego lub kilku baz danych.

%3E

% 2A

%3F

% 5B

%5D

%7C

Znaki ucieczki

Często można użyć znaku anulowania osi z tyłu PowerShell systemu Windows (') do znaków escape, które są dozwolone SQL Server identyfikatory rozdzielanego, ale PowerShell Windows nazwy ścieżka. Klasyfikator może również zaleca się co statystyki powinny być pobierane do utworzenia tworzyć kopię zapasową zapasowej struktury fizycznej projektu.Struktury fizycznej projektu obejmują stosowanie indeksów klastrowanych, ponownego zbudowania indeksów nie klastrowanych, widoki indeksowane i partycjonowanie.Doradca dostrajania aparatu bazy danych zaleca, aby zestaw struktury fizycznej projektu, który zmniejsza optimizers kwerendy szacowany koszt obciążenie pracą.Doradca dostrajania aparat bazy danych Dostrajanie możliwości

Doradca dostrajania aparat bazy danych Można:

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

Zaleca się najlepszą kombinację indeksów dla bazy danych przy użyciu optymalizator kwerendy w celu analizowania kwerend w obciążenie pracą.

Zaleca się wyrównany lub bez wyrównania partycji dla baz danych, do którego odwołuje się obciążenie pracą.

Niektóre SQL Server cmdlets ma parametr, który ma identyfikator jako dane wejściowe. Analizowanie wpływu proponowanych zmian, takich jak użycie indeksu, rozkład kwerendy między tabelami i wydajności kwerendy w obciążenia.Zaleca się sposobów dostrajania bazy danych dla małego zbioru kwerendy problem.